﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {        
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            int QuantidadeColunas = 15;
            int QuantidadeLinhas = 18;

            //adiciona colunas ao grid
            for (int indice = 0; indice < QuantidadeColunas; indice++)
            {
                PalavraCruzada.Columns.Add("", "");
                PalavraCruzada.Columns[indice].Width = 25;
            }

            //adiciona linhas ao grid
            for (int indice = 0; indice < QuantidadeLinhas; indice++)
            {
                PalavraCruzada.Rows.Add();
                PalavraCruzada.Rows[indice].Height = 25;
                PalavraCruzada.Rows[indice].DefaultCellStyle.SelectionBackColor = Color.DarkOrchid;
                PalavraCruzada.Rows[indice].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                PalavraCruzada.Rows[indice].ReadOnly = true;
            }

            Palavras pronomes = new Palavras();

            pronomes.escreverNoGrid(QuantidadeColunas, QuantidadeLinhas, PalavraCruzada);

            EncherOGridDeBesteira(QuantidadeColunas, QuantidadeLinhas);

            //Popula();
        }
        
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }
        }

        private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                if (MessageBox.Show("Desesa sair do Palavras Cruzadas?", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    this.Close();
            }
        }

        private void Popula()
        {
            //palavras a serem encontradas
            string[] palavras = {"banana", "laranja", "melão"};

            //escreve as palavras
            int contador;

            for (contador = 0; contador < palavras[0].Length; contador++)
            {
                PalavraCruzada.Rows[0].Cells[contador].Value = palavras[0][contador];
            }
        }

        public void EncherOGridDeBesteira(int QuantidadeColunas, int QuantidadeLinhas)
        {
            Random sortear = new Random();
            string[] alfabeto = {"a", "á","ã","b","c","d","e","é","f","g","h","i","j","k","l","m","n","o","õ","p","q","r","s","t","u","v","w","x","y","z" };

            for (int contador1 = 0; contador1 < QuantidadeColunas; contador1++)
            {
                for (int contador2 = 0; contador2 < QuantidadeLinhas; contador2++)
                {
                    if (PalavraCruzada.Rows[contador2].Cells[contador1].Value == null)
                        PalavraCruzada.Rows[contador2].Cells[contador1].Value = alfabeto[sortear.Next(alfabeto.Length)];
                }
            }
        }
    }
}
